Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(jenkins): pin python kubernetes version to fix recent breakage in tests #1106

Merged
merged 1 commit into from
Sep 23, 2024

Conversation

james-garner-canonical
Copy link
Contributor

@james-garner-canonical james-garner-canonical commented Sep 23, 2024

Description

Pin python kubernetes version to fix recent breakage in jenkins tests.

The latest update to the python kubernetes library (v31, 3 days ago) breaks the Jenkins github-check-merge-juju-python-libjuju test due to failure to build a new dependency (durationpy).

I thought this might be the fix for issue #1088, but that's been open since August 9. Should we switch to stricter dependency versioning across the board here to avoid breakages of this nature? In setup.py, 4 dependencies now specify both minimum and maximum versions, 5 only specify a minimum, and 2 have no version specification. In tox.ini, only 1 dependency (kubernetes) specifies a (maximum) version. tox.ini should probably have the same version constraints as setup.py.

QA Steps

All tests pass, except for integration tests, which are flaky (see issue #1108).

@james-garner-canonical james-garner-canonical changed the title fix: pin python kubernetes version to hopefully fix recent breakage in tests fix(jenkins): pin python kubernetes version to hopefully fix recent breakage in tests Sep 23, 2024
Copy link
Contributor

@dimaqq dimaqq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to plug this quickly if it works.

it would be nice to know what library change made the difference, but that can be handled separately

@james-garner-canonical
Copy link
Contributor Author

it would be nice to know what library change made the difference

The failure is when trying to build a wheel for durationpy.

ERROR: Could not build wheels for durationpy, which is required to install pyproject.toml-based projects

durationpy doesn't use the newer pyproject.toml, instead using setup.py (and a number of deprecation warnings are emitted in jenkins for its setup.py too).

@james-garner-canonical
Copy link
Contributor Author

james-garner-canonical commented Sep 23, 2024

Integration tests are failing on this PR, but I'm not sure what the status of these integration tests is. I made a test PR against main (#1107) where the only change is adding my name to CONTRIBUTORS, and integration tests fail there too. Seven tests fail in each PR, one is different in each. I've run the integration tests twice on each PR.

Six failures are in common across both PRs (both runs):

FAILED tests/integration/test_application.py::test_upgrade_local_charm - juju...
FAILED tests/integration/test_model.py::test_deploy_bundle_with_overlay_as_argument
FAILED tests/integration/test_model.py::test_deploy_bundle_with_multiple_overlays_with_include_files
FAILED tests/integration/test_application.py::test_app_relation_destroy_block_until_done
FAILED tests/integration/test_model.py::test_wait_for_idle_with_not_enough_units
FAILED tests/integration/test_model.py::test_wait_for_idle_more_units_than_needed

Unique to this PR (one of the two runs only):

FAILED tests/integration/test_model.py::test_unit_annotations - asyncio.excep...

Unique to dummy PR [#1107] (both runs):

FAILED tests/integration/test_application.py::test_upgrade_local_charm_resource

I'm going to rerun the integration tests and see if they have the same results.

@james-garner-canonical
Copy link
Contributor Author

james-garner-canonical commented Sep 23, 2024

See issue #1108 for a table of test failures.

@james-garner-canonical james-garner-canonical changed the title fix(jenkins): pin python kubernetes version to hopefully fix recent breakage in tests fix(jenkins): pin python kubernetes version to fix recent breakage in tests Sep 23, 2024
@james-garner-canonical
Copy link
Contributor Author

/merge

@jujubot jujubot merged commit e69d568 into juju:main Sep 23, 2024
9 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants